package com.icinfo.cloud.provider.punish.config.service;


import com.icinfo.cloud.provider.common.service.PunishBaseService;
import com.icinfo.cloud.provider.punish.config.dto.CompareDiscretionDto;
import com.icinfo.cloud.provider.punish.config.dto.CompareSingleDiscretionDto;
import com.icinfo.cloud.provider.punish.config.model.ConfigOrgRegulatoryDiscretionRuleHis;
import com.icinfo.cloud.provider.punish.config.vo.DiscretionHisVo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 *
 * @author HKxxx
 * @date 2024/1/31 15:25
 */
public interface IConfigOrgRegulatoryDiscretionRuleHisService extends PunishBaseService {


    /**
     * 批量新增历史记录表
     * @param hisList
     */
    void insertBatch(List<ConfigOrgRegulatoryDiscretionRuleHis> hisList);


    /**
     * 批量获取自由裁量历史规则信息
     */
    Map<String, DiscretionHisVo> getDiscretionHisByRuleHisIds(List<String> hisIds);

    /**
     * 获取自由裁量历史规则信息
     */
    DiscretionHisVo getDiscretionHisByRuleHisId(String hisId);


    /**
     * 校验多个裁量处罚金额是否满足裁量区间
     */
    void verifyDiscretionAmount(CompareDiscretionDto compareDiscretionDto);

    /**
     * 校验单个裁量处罚金额是否满足裁量区间
     */
    void verifySingleDiscretionAmount(CompareSingleDiscretionDto dto);

}
